postman接口测试

您所在的位置:网站首页 postman 导出接口文档 postman接口测试

postman接口测试

2023-03-22 17:36| 来源: 网络整理| 查看: 265

接口 概念 接口就是:系统与系统之间,组件与组件之间,数据传递交互的通道。 image-20210707093347808.png 接口的类型

按协议划分:http、tcp、IP

按语言划分:C++、java、php 。。。

按范围划分:

系统之间:

多个内部系统之间 内部系统与外部系统之间

image-20210707094113199.png - 程序之间:

- **方法与方法之间,函数与函数之间,模块与模块之间** ```python # 接口 def eat(something): print(f'小鸟在吃{something}') # 使用接口,传递数据 def bird(): eat('苹果') bird() ``` 复制代码 接口测试 概念 接口测试就是,对系统或组件之间的接口进行测试。校验传递的数据正确性和逻辑依赖关系的正确性!

原理

==接口测试,主要针对的测试目标 —— 服务器==

怎么测?

模拟客户端,向服务器发送请求。

用什么测?

工具:fiddler、postman、jmter 代码:python + UnitTest框架 + Requests框架

测什么?

测试 服务器针对客户端请求,回发的响应数据是否与预期结果一致! 人眼对比 断言

特点

符合质量控制前移的理念 可以发现一些页面操作发现不了的问题 接口测试低成本高效益 接口测试是从用户的角度对系统进行检测

实现方式

工具:JMeter、Postman、fiddler 代码:Python + Requests + UnitTest

什么是自动化接口测试?

借助工具、代码,模拟客户端发送请求给服务器,借助断言自动判断 预期结果和实际结果 是否一致! ==HTTP协议==

协议:就是规则。要求通信的双方必须严格遵守!

HTTP协议简介

HTTP:(HyperText Transfer Protocol)超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互联网上应用最为广泛的一种网络协议。

特征:

支持客户端/服务器模式 简单快速 灵活 无连接 无状态 ==URL格式== 概念:(Uniform Resource Locator)统一资源定位符。 作用:在网络环境中,唯一的定义一个数据资源。 image-20210707105756973.png 协议:http。 规定数据传输的方式。 域名(IP):在网络环境中找到主机。—— 用 :// 与协议隔分 端口(port):(常省略)在网络主机上,标识一个进程(应用程序)—— 用: 与域名 资源路径:标识网络资源(文件、图片、音视频、变量...)—— 用: / 与端口格分 查询参数:传递给资源路径对应的数据。—— 用 ? 与资源路径隔分。 查询参数内部 用 & 隔分多个kv对 练习

请写出以下URL的各个组成部分。这个URL没有写出端口号,它的端口是什么? image-20210707110844053.png 协议:http

域名:www.itcast.cn

端口号:8080( 不是默认,只不过网络 网络通信常用!)

资源路径:/news/index.html

查询参数:uid=123&page=1

==HTTP请求==

作用:

客户端(app、浏览器),发送请求给服务器时,使用的协议 —— http请求协议。 规定 发送给服务器的数据传输的语法格式。 整体格式 **请求行:**http请求第一行。请求方法 (空格) URL (空格) 协议版本 **请求头:**语法格式:k :v User-Agent:描述 请求发送端的 浏览器类型。 Content-Type:描述 请求体 的 数据类型! **空行:**代表http请求头结束。 **请求体:**请求发送时携带的数据。数据类型 Content-Type 的值! post 和 put 有请求体 get 和 delete 没有请求体

image-20210215224232033.png image-20210707113752374.png

fiddler 抓包验证

image-20210707115816172.png image-20210707120133271.png

请求行 http 请求方法:大小写均可。 GET:查询。 —— 没有请求体 POST:添加。(登录时常用) put: 修改。 delete: 删除。 —— 没有请求体 请求头 数据格式:k:v Content-Type: application/json: JSON数据格式 application/x-www-form-urlencoded: form表单数据 请求体 GET和DELETE 没有 PUT 和POST有 数据类型受 Content-Type 值影响。 练习 以下是抓取的某个HTTP协议数据包的请求报文,请问其中,请求行,请求头,请求体分别是什么? POST http://tpshop-test.itheima.net/index.php HTTP/1.1 Host: tpshop-test.itheima.net Connection: keep-alive Content-Length: 53 Accept: application/json, text/javascript, */*; q=0.01 Origin: http://tpshop-test.itheima.net X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36 Content-Type: application/x-www-form-urlencoded; Referer: http://tpshop-test.itheima.net/Home/user/login.html Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Cookie: is_mobile=0; province_id=1; city_id=2; district_id=3; is_distribut=1; PHPSESSID=1b80tii77mhle0fqd2bg52ucg5; cn=0 username=13800138006&password=123456&verify_code=8888 复制代码 ==HTTP响应==

作用:

服务器端,针对客户端发送的 http请求,回发响应数据。—— http应答! 规定 回发给客户端的数据组织格式。 整体格式 响应行(状态行):协议版本 (空格) 状态码 (空格) 状态描述 响应头:语法格式:k:v Content-Type: 描述 响应体中数据类型。 空行:代表响应头结束 响应体:绝大多数不为空。(请求成功:回发数据,失败:回发错误信息) 数据类型受 Content-Type值影响。 image-20210707122117120.png image-20210215224253933.png 状态行

状态码:

1xx:代表指示信息。表请求已经被接收,等待继续处理。 2xx:代表请求成功被处理、接收。 常见:200、201 3xx:重定向,待访问的资源,需求重新指定路径访问。 4xx:代表客户端错误。常见:404、 403 5xx:访问器端错误。

状态码描述:一般与状态码 唯一对应。 200 —— ok; 404 —— file not found

响应头 语法格式:k:v Content-Type:值为 响应体 的数据类型。 Content-Length: 响应体的大小。可以不写,浏览器会自动求取。一旦写,必须准确! 响应体 回发给客户端的 消息内容。常见的有 html网页、xml、json 练习 以下是HTTP协议的响应报文内容,请问,状态行、响应头、响应体分别是哪几个部分? HTTP/1.1 200 OK Server: nginx Date: Mon, 29 Jun 2020 03:36:28 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive Vary: Accept-Encoding X-Powered-By: PHP/5.6.40 Set-Cookie: is_mobile=0; expires=Mon, 29-Jun-2020 04:36:28 GMT; Max-Age=3600; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post- check=0, pre-check=0 Pragma: no-cache Set-Cookie: user_id=3338; path=/ Set-Cookie: is_distribut=1; path=/ Set-Cookie: uname=13800138006; path=/ Set-Cookie: cn=0; expires=Mon, 29-Jun-2020 02:36:28 GMT; Max- Age=-3600; path=/ Content-Length: 805 {"status":1,"msg":"\u767b\u9646\u6210\u529f","result": {"user_id":3338,"email":"","password":"519475228fe35ad067744465 c42a19b2","paypwd":null,"sex":0,"birthday":0,"user_money":"0.00 ","frozen_money":"0.00","distribut_money":"0.00","underling_num ber":0,"pay_points":100,"address_id":0,"reg_time":1590980161,"l ast_login":1590980161,"last_ip":"","qq":"","mobile":"1380013800 6","mobile_validated":1,"oauth":"","openid":null,"unionid":null ,"head_pic":null,"province":0,"city":0,"district":0,"email_vali dated":0,"nickname":"13800138006","level":1,"discount":"1.00"," total_amount":"0.00","is_lock":0,"is_distribut":1,"first_leader ":0,"second_leader":0,"third_leader":0,"token":"a26e177bd6506ff f68c01fd13e742073","message_mask":63,"push_id":"0","distribut_l evel":0,"level_name":"\u6ce8\u518c\u4f1a\u5458"},"url":""} 复制代码 传统风格接口

特点:

请求方法,只使用 get 和 post 即可。 URL 不唯一。同一个操作可以对应不同的 URL 状态码的使用较单一。200 最常见。 image-20210707153849856.png RESTful风格接口

特点:

每一个URL代表一种资源; 客户端和服务器之间,传递这种资源的某种表现层; 表现层:数据的不同表现形式(如:图片、文字表现同一个数据对象) 客户端通过四个HTTP动词(GET、post、delete、put),对服务器端资源进行操作,实现"表现层状态转化"; 接口之间传递的数据最常用格式为JSON。 image-20210707154607898.png 接口测试流程

image-20210707160900090.png

分析需求,产生需求文档(产品)。 (开发产生接口文档)解析接口文档。 产生 接口测试用例(送审)。 执行 测试用例 工具:postman、jmeter、fidller 代码:python + Requests +UnitTest 提交、跟踪缺陷。 生成 测试报告。 (可选)接口自动化持续集成! 接口文档 什么是接口文档 **由开发人员编写,描述接口信息的文档。**开发团队按接口文档进行开发工作,并要一直维护遵守。 作用 能够让前端开发与后台开发人员更好的配合,提高工作效率。(有一个统一参考的文件) 项目迭代或者项目人员更迭时,方便后期人员查看和维护 方便测试人员进行接口测试 展现形式 word 文档形式 Excel 表格式形式 pdf 文档形式。 ==结构== 基本信息: 资源路径 (协议和域名在 “系统信息”中) 请求方法 接口描述 请求参数: 请求头: Content-Type。描述请求体的数据类型! 请求体: 实现该接口使用的 数据及对应类型。 返回数据: 状态码 200 错误码(自定义状态码) 码值 描述信息。 ==接口文档解析== 接口文档的解析本质:从接口文档中,找出 http 请求所需要的 数据信息。 主要包含:请求方法、URL 、请求头、请求体、响应状态码、描述。 以 “登录” 为例: 请求方法:POST URL:ihrm-test.itheima.net/api/sys/log… 请求头:Content-Type :application/json 请求体:{“mobile”:”13800000002”, “password”:”123456”} 响应状态码:200 错误码: 10000:操作成功! 20001:用户名或密码错误 99999:抱歉,系统繁忙,请稍后重试! image-20210707173007275.png image-20210707173337510.png 作业 完成课后作业 《接口测试-第01天-作业.md》 预习 Postman 实现接口测试


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3